home *** CD-ROM | disk | FTP | other *** search
/ Visual FX for Image FX / VisualFX for Image FX 3.adf / Files / ARexx / 03 / 02.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1997-06-11  |  6.4 KB  |  368 lines

  1. /*
  2.                           Visual FX Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1997 Merlin's Software
  5. */
  6.  
  7. Options Results
  8. address "IMAGEFX.1"
  9. ScreenToFront
  10. Undo Off
  11. if exists("libs:flyer.library") then do
  12.     TOASTERLIB="ToasterARexx.port"
  13.     call remlib('ToasterARexx.port')
  14.     call remlib('PROJECT_REXX_PORT')
  15.     call addlib('PROJECT_REXX_PORT' , 0)
  16.     call addlib(TOASTERLIB,0)
  17.     end
  18. call Settings()
  19. call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
  20. line = readln(TempFile)
  21. PicAName = strip(line)
  22. line = readln(TempFile)
  23. Start = strip(line)
  24. line = readln(TempFile)
  25. End = strip(line)
  26. line = readln(TempFile)
  27. IAType = strip(line)
  28. line = readln(TempFile)
  29. Color = strip(line)
  30. line = readln(TempFile)
  31. BorderType = strip(line)
  32. line = readln(TempFile)
  33. Border = strip(line)
  34. line = readln(TempFile)
  35. ShadowType = strip(line)
  36. line = readln(TempFile)
  37. Type2 = strip(line)
  38. line = readln(TempFile)
  39. WindowType = strip(line)
  40. line = readln(TempFile)
  41. CropAnswer = strip(line)
  42. line = readln(TempFile)
  43. BrushName = strip(line)
  44. line = readln(TempFile)
  45. ScrollXOff = strip(line)
  46. line = readln(TempFile)
  47. ScrollYOff = strip(line)
  48. call close TempFile
  49.  
  50. Frames = (End - Start)+1
  51. j=0
  52. k=0
  53. TFrames = Frames
  54. TNum = 3
  55. if TFrames > 999 then TNum = 4
  56. if TFrames > 9999 then TNum = 5
  57. if Field = 1 then TFrames = Frames*2
  58. do i = Start to End
  59.     k = k+ 1
  60.     call open TempFile,"RAM:VFXNums",W
  61.     call writeln TempFile,right(k,5,'0')
  62.     call writeln TempFile,right(Frames,5,'0')
  63.     call close TempFile
  64.     f=0
  65.     Redraw Off
  66.     j = j+ 1
  67.     FieldSet = 0
  68.     call DoIt()
  69.     Redraw On
  70.     call SaveIt()
  71.         if Field = 1 then do
  72.             Redraw Off
  73.             j = j + 1
  74.             FieldSet = 1
  75.             call DoIt()
  76.             Redraw On
  77.             call SaveIt()
  78.             end 
  79.     end
  80.     Undo On
  81. exit
  82.  
  83.  
  84.  
  85. LoadA:
  86.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  87.         Undo On
  88.         exit
  89.         end
  90.     if IAType = 0 then do
  91.         LoadBuffer PicAName Force i
  92.         if Field = 1 then do
  93.             GetMain
  94.             parse var result Name Width Height Blah
  95.             if FieldSet = 0 then do
  96.                 Hook DeInterlace
  97.                 Scale Width Height
  98.                 end
  99.             if FieldSet = 1 then do
  100.                 Hook DeInterlace
  101.                 Swap
  102.                 Scale Width Height
  103.                 end
  104.             end
  105.         end
  106.     if IAType = 1 then do
  107.         LoadBuffer PicAName Force 1
  108.         end
  109.     if IAType = 2 then do
  110.         LoadBuffer PicAName Force
  111.         end
  112.     if IAType = 3 then do
  113.         LoadBuffer PicAName""right(i,TNum,'0') Force
  114.         end
  115. return
  116.  
  117.  
  118. SaveIt:
  119.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  120.         Undo On
  121.         exit
  122.         end
  123.     if SaveType = 0 then do
  124.         call Switcher(TOSW)
  125.         call Switcher(MDV1)
  126.  
  127.         Render Go
  128.         if Field = 1 then
  129.                 call RecordAdd(SaveName,1,6,Compression)
  130.         else
  131.                 call RecordAdd(SaveName,2,6,Compression)
  132.         if j = TFrames then
  133.             call MakeIcon(SaveName,(Frames-10))
  134.         end
  135.  
  136.     if SaveType = 1 then do
  137.         if Field = 1 then do
  138.             f= f + 1
  139.             if f = 1 then
  140.                 SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
  141.             if f = 2 then do
  142.                 GetMain
  143.                 parse var result Name Width Height Blah
  144.                 Scale Width Height/2
  145.                 Swap
  146.                 LoadBuffer "VFXIFX:TempDrawer/PicA" Force
  147.                 Scale Width Height/2
  148.                 Hook Interlace
  149.                 SaveBufferAs ILBM SaveName""right(k,TNum,'0')
  150.                 f = 0
  151.                 end
  152.             end
  153.         else do
  154.             SaveBufferAs ILBM SaveName""right(k,TNum,'0')
  155.             end    
  156.         end
  157.  
  158. return
  159.  
  160.  
  161. DoIt:
  162.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  163.         Undo On
  164.         exit
  165.         end
  166.     call LoadA()
  167.     GetMain
  168.     parse var result Name Width Height Blah
  169.     if CropAnswer ~= "None" then do
  170.         CropAnswer
  171.         Scale Width Height
  172.         end
  173.  
  174.     A = trunc(Width/10)+12
  175.     B = trunc(Height/10)+12
  176.     C = trunc(Width - (A*2))
  177.     D = trunc(Height - (B*2))
  178.     XOff = 12
  179.     YOff = 10
  180.     Blend 100
  181.     if WindowType > -1 then do
  182.         parse var WindowType A B C D
  183.         XOff = 0
  184.         YOff = 0
  185.         end
  186.     Scissors
  187.     Region Brush
  188.     Box 0 0 Width Height
  189.     Region Full
  190.     if Type2 = 0 then do
  191.         ColorToGrey 299 587 114
  192.         Grey2Color
  193.         end
  194.     if Type2 = 1 then do
  195.         ReliefMap 256 0
  196.         end
  197.     if Type2 = 2 then do
  198.         ColorToGrey 299 587 114
  199.         Grey2Color
  200.         Hook "Hooks/Sys/Antique"
  201.         end
  202.     if Type2 = 3 then do
  203.         Solarize
  204.         end
  205.     if Type2 = 4 then do
  206.         Negative
  207.         end
  208.     if Type2 = 5 then do
  209.         Posterize 3
  210.         end
  211.     if Type2 = 6 then do
  212.         FalseColor Standard
  213.         end
  214.     if Type2 = 7 then do
  215.         DrawMode Lighten
  216.         FilledBox 0 0 Width Height
  217.         FilledBox 0 0 Width Height
  218.         DrawMode Normal
  219.         end
  220.     if Type2 = 8 then do
  221.         DrawMode Darken
  222.         FilledBox 0 0 Width Height
  223.         FilledBox 0 0 Width Height
  224.         DrawMode Normal
  225.         end
  226.  
  227.     if ShadowType = 0 then
  228.         EdgeMode FeatherOut 5
  229.     if ShadowType < 2 then do
  230.         DrawMode Darken
  231.         FillMode Solid 0 0 0 Smooth
  232.         FilledBox A+12 B+10 C D
  233.         EdgeMode Normal
  234.  
  235.         DrawMode Normal
  236.         FillMode Warp 0 0 0 Smooth
  237.         FilledBox A B C D
  238.         end
  239.     else do
  240.         DrawMode Normal
  241.         FillMode Warp 0 0 0 Smooth
  242.         FilledBox A B C D
  243.         end
  244.  
  245.     KillBrush
  246.     if BorderType = 0 then do
  247.         if Border > 0 then do
  248.             Pen 0 Border
  249.             Grid 0 0 0 0 OFF
  250.             Transparency 0 0 0
  251.             ActiveColor Color
  252.             if ShadowType < 2 then
  253.                 Box A B C D
  254.             else
  255.                 Box A B C+XOff D+YOff
  256.             Pen 0 1
  257.             ActiveColor 1
  258.             end
  259.         end
  260.  
  261.  
  262.  
  263.     if BorderType = 1 then do
  264.         if j = 1 then do
  265.             LoadBrush BrushName
  266.             SaveBrushAs ILBM "VFXIFX:TempDrawer/BrushA" 
  267.             end
  268.         if j > 1 then do
  269.             LoadBrush "VFXIFX:TempDrawer/BrushA" 
  270.             Roll ScrollXOff ScrollYOff
  271.             SaveBrushAs ILBM "VFXIFX:TempDrawer/BrushA" 
  272.             end
  273.         FillMode Tile 0 0 0 Smooth
  274.         Depth = Border
  275.         Blend 100
  276.         NewArea
  277.         DrawMode Normal
  278.         C = C + A 
  279.         D = D + B
  280.         AddArea A+1 B
  281.         AddArea C B
  282.         AddArea C-Depth+1 B+Depth-1
  283.         AddArea A+Depth B+Depth-1
  284.         AddArea A+1 B
  285.         FilledPoly
  286.  
  287.         NewArea
  288.         AddArea A B
  289.         AddArea A+Depth-1 B+Depth-1
  290.         AddArea A+Depth-1 D-Depth+1
  291.         AddArea A D
  292.         AddArea A B
  293.         FilledPoly
  294.  
  295.         NewArea
  296.         AddArea C-Depth+1 B+Depth 
  297.         AddArea C B+1
  298.         AddArea C D 
  299.         AddArea C-Depth+1 D-Depth+1
  300.         AddArea C-Depth+1 B+Depth
  301.         FilledPoly
  302.  
  303.         NewArea
  304.         AddArea C-1 D
  305.         AddArea A+1 D
  306.         AddArea A+Depth D-Depth+1  
  307.         AddArea C-Depth D-Depth+1 
  308.         AddArea C-1 D
  309.         FilledPoly
  310.  
  311.         C = C - A 
  312.         D = D - B
  313.         end
  314.  
  315.     KillBrush
  316.     FillMode Solid 0 0 0 Smooth
  317.  
  318.     if BorderType > 0 then do
  319.         Depth = Border
  320.         Blend 90
  321.         NewArea
  322.         DrawMode Lighten
  323.         C = C + A 
  324.         D = D + B
  325.         AddArea A+1 B
  326.         AddArea C B
  327.         AddArea C-Depth+1 B+Depth-1
  328.         AddArea A+Depth B+Depth-1
  329.         AddArea A+1 B
  330.         FilledPoly
  331.  
  332.         NewArea
  333.         DrawMode Lighten
  334.         AddArea A B
  335.         AddArea A+Depth-1 B+Depth-1
  336.         AddArea A+Depth-1 D-Depth+1
  337.         AddArea A D
  338.         AddArea A B
  339.         FilledPoly
  340.         FilledPoly
  341.  
  342.         Blend 70
  343.         NewArea
  344.         DrawMode Darken
  345.         AddArea C-Depth+1 B+Depth 
  346.         AddArea C B+1
  347.         AddArea C D 
  348.         AddArea C-Depth+1 D-Depth+1
  349.         AddArea C-Depth+1 B+Depth
  350.         FilledPoly
  351.  
  352.         NewArea
  353.         DrawMode Darken
  354.         AddArea C-1 D
  355.         AddArea A+1 D
  356.         AddArea A+Depth D-Depth+1  
  357.         AddArea C-Depth D-Depth+1 
  358.         AddArea C-1 D
  359.         FilledPoly
  360.         FilledPoly
  361.         end
  362.     Blend 100
  363.     FillMode Solid 0 0 0 Smooth
  364.     DrawMode Normal
  365. return
  366.  
  367.  
  368.